#ifndef ASSEMBLER_H_
#define ASSEMBLER_H_
#include "definitions.h"
#include "entities.h"

void Start(char filePath[]);
void Assemble(char *line);
boolean ParseData(ArgumentType argType);
boolean ParseCommand(int cmdIndex);
boolean ParseOperand(OperandType opType);
boolean ParseTwoOperands();
boolean ParseOneOperand();
boolean ParseNoOperands();
void UpdateAddressForDataLabels();
void ResetIterate();
void Reset();
boolean UpdateEntryAddress(ArgumentType argType, char *label);
boolean UpdateExternAddredd(ExternLabelsList *exts, char *label, int address);
void WriteFiles(char *fileName);
#endif /* ASSEMBLER_H_ */
